Which Operator to Use? - Creation Operators
Use this page to find the creation operator implemented by the Observable type that fits your needs:
| I want to create a new sequence | using custom logic | Observable.create | ||
| that works like a for-loop | Observable.generate | |||
| and emits the values over time | Observable.generateWithRelativeTime | |||
| Observable.generateWithAbsoluteTime | ||||
| that returns a value | Observable.return/just | |||
| multiple times | Observable.repeat | |||
| that throws an error | Observable.throw | |||
| that completes | Observable.empty | |||
| that never does anything | Observable.never | |||
| from an event | Observable.fromEvent | |||
| that uses custom functions to add and remove event handlers | Observable.fromEventPattern | |||
| from an ES6 Promise | Observable.fromPromise | |||
| that iterates | over the values in an array |
Observable.fromArray |
||
| of object key/values | Observable.pairs | |||
| of asynchronous elements | Observable.for | |||
| over values in a numeric range | Observable.range | |||
| over the values in an iterable, array or array-like object | Observable.from | |||
| over arguments | Observable.of | |||
| that emits values on a timer | Observable.interval | |||
| with an optional initial delay | Observable.timer | |||
| that calls a function with no arguments | on a specific scheduler | Observable.start | ||
| asynchronously | Observable.startAsync | |||
| decided at subscribe-time | based on a boolean condition | Observable.if | ||
| from a pre-set set of sequences | Observable.case | |||
| using custom logic | Observable.defer | |||
| that depends on a resource | Observable.using | |||
| I want to wrap a function | and yield the result in a sequence | Observable.toAsync | which accepts a callback | Observable.fromCallback |
| which accepts a Node.js callback | Observable.fromNodeCallback | |||
| I want to combine multiple sequences | and only receive values from the sequence that yields a value first | Observable.amb | ||
| and be notified when all of them have finished | Observable.forkJoin | |||
| and output the values from all of them | Observable.merge | |||
| in order | reusing the latest value when unchanged | Observable.combineLatest | ||
| using each value only once | Observable.zip | |||
| by subscribing to each in order | when the previous sequence completes | Observable.concat | ||
| when the previous sequence errors | Observable.catch | |||
| regardless of whether the previous sequence completes or errors | Observable.onErrorResumeNext | |||
| by responding to different combinations of values (join calculus) | Observable.when | |||
See Also
Reference
Concepts